﻿using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace Cataloger
{
    [Serializable]
    public class KategoriaDynamiczna
    {
		#region Constructors (1) 

        public KategoriaDynamiczna()
        {
        }
        public static List<KategoriaDynamiczna> KategorieDyn = new List<KategoriaDynamiczna>();
		#endregion Constructors 

		#region Properties (12) 

        public bool DataMod
        {
            get;
            set;
        }

        public DateTime DataModyfikacjiDo
        {
            get;
            set;
        }

        public DateTime DataModyfikacjiOd
        {
            get;
            set;
        }

        public bool DataUtw
        {
            get;
            set;
        }

        public DateTime DataUtwDo
        {
            get;
            set;
        }

        public DateTime DataUtwOd
        {
            get;
            set;
        }

        public string Nazwa
        {
            get;
            set;
        }

        public bool Rozmiar
        {
            get;
            set;
        }

        public long RozmiarDo
        {
            get;
            set;
        }

        public long RozmiarOd
        {
            get;
            set;
        }

        public List<string> Rozszerzenia
        {
            get;
            set;
        }

        public bool Rozszerzenie
        {
            get;
            set;
        }

		#endregion Properties 

		#region Methods (3) 

		// Public Methods (2) 

        public override string ToString()
        {
            return Nazwa;
        }

        public void WyswietlObiektyNalezace(ListView lista, Katalogi katal)
        {
            foreach (Katalog cat in katal)
            {
                foreach (Nosnik n in cat.Nosniki)
                {
                    Szukaj(n.Root,lista);
                }
            }
        }
		// Private Methods (1) 

        private void Szukaj(Folder fold,ListView lst)
        {
            foreach (Plik p in fold.Pliki)
            {
                if (this.Rozszerzenia.Contains(p.Rozszerzenie.ToLower())&&p.Rozmiar>RozmiarOd&&p.Rozmiar<RozmiarDo)
                {
                    p.ShowListViewFileInfo(lst);
                }
            }
            foreach (Folder f in fold.Podflodery)
            {
                Szukaj(f,lst);
            }
        }

		#endregion Methods 
    }
}
